package com.sz.admin.permission.service;

import com.mybatisflex.core.service.IService;
import com.sz.admin.permission.pojo.po.Permission;
import com.sz.core.common.entity.SelectIdsDTO;
import com.sz.core.common.entity.PageResult;
import java.util.List;
import com.sz.admin.permission.pojo.dto.PermissionCreateDTO;
import com.sz.admin.permission.pojo.dto.PermissionUpdateDTO;
import com.sz.admin.permission.pojo.dto.PermissionListDTO;
import com.sz.admin.permission.pojo.vo.PermissionVO;
import com.sz.core.common.entity.ImportExcelDTO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * <p>
 * 系统权限表 Service
 * </p>
 *
 * @author sz-admin
 * @since 2025-06-30
 */
public interface PermissionService extends IService<Permission> {

    void create(PermissionCreateDTO dto);

    void update(PermissionUpdateDTO dto);

    PageResult<PermissionVO> page(PermissionListDTO dto);

    List<PermissionVO> list(PermissionListDTO dto);

    void remove(SelectIdsDTO dto);

    PermissionVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(PermissionListDTO dto, HttpServletResponse response);
}